package com.top10.entity;

import java.io.Serializable;

import com.baomidou.mybatisplus.enums.IdType;
import java.math.BigDecimal;
import java.util.Date;
import com.baomidou.mybatisplus.annotations.TableId;
import com.baomidou.mybatisplus.annotations.TableField;
import com.baomidou.mybatisplus.activerecord.Model;
import com.baomidou.mybatisplus.annotations.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;

import java.io.Serializable;

/**
 * <p>
 * 
 * </p>
 *
 * @author su
 * @since 2018-10-05
 */
@TableName("tb_order")
public class Order extends Model<Order> {

    private static final long serialVersionUID = 1L;

    /**
     * 序号,主键,自增,表唯一
     */
	@TableId(value="id", type= IdType.AUTO)
	private Integer id;
    /**
     * 主键,全局唯一
     */
	private String uuid;
    /**
     * 订单流水号
     */
	private String orderid;
    /**
     * 支付id
     */
	private String payid;
    /**
     * 支付宝交易号
     */
	@TableField("trade_no")
	private String tradeNo;
    /**
     * 退款批次
     */
	@TableField("batch_no")
	private String batchNo;
    /**
     * 商店uuid
     */
	@TableField("shop_uuid")
	private String shopUuid;
    /**
     * 用户uuid
     */
	@TableField("user_uuid")
	private String userUuid;
    /**
     * 收货人uuid
     */
	@TableField("consignee_uuid")
	private String consigneeUuid;
    /**
     * 快递uuid
     */
	@TableField("express_uuid")
	private String expressUuid;
    /**
     * 快递费用
     */
	@TableField("express_price")
	private Double expressPrice;
    /**
     * 快递单号
     */
	@TableField("express_number")
	private String expressNumber;
    /**
     * 商品价格
     */
	@TableField("aggregate_amount")
	private Double aggregateAmount;
    /**
     * 实际支付金额，积分+卡劵+现金
     */
	@TableField("actual_price")
	private Double actualPrice;
    /**
     * 订单商品总数量
     */
	@TableField("s_quantity")
	private Integer sQuantity;
    /**
     * 消耗积分，100：1
     */
	private Integer integral;
    /**
     * 消耗卡劵uuid
     */
	@TableField("card_coupons_uuid")
	private String cardCouponsUuid;
    /**
     * 配送商uuid
     */
	@TableField("delivery_uuid")
	private String deliveryUuid;
    /**
     * 封条uuid
     */
	@TableField("bar_code_uuid")
	private String barCodeUuid;
    /**
     * 订单状态，0：待支付，1：待发货，2：已发货，3：已配送，4：已签收，5:申请退款,6:同意退款,7:拒绝退款-1：已取消
     */
	private Integer status;
    /**
     * 记录之前的订单状态
     */
	@TableField("old_status")
	private Integer oldStatus;
    /**
     * 是否已经支付给商家
     */
	@TableField("pay_seller_status")
	private Boolean paySellerStatus;
    /**
     * 支付给商家的异步通知id
     */
	@TableField("pay_seller_notify_id")
	private String paySellerNotifyId;
    /**
     * 支付给商家的批次号
     */
	@TableField("pay_seller_batch_no")
	private String paySellerBatchNo;
    /**
     * 订单类型：1：正常订单，2：折扣空间订单
     */
	@TableField("order_type")
	private Integer orderType;
	private String province;
    /**
     * 支付方式，0：支付宝，1：线下，2：微信
     */
	private Integer paytype;
    /**
     * 确认收货时间
     */
	private Date confirmtime;
    /**
     * 付款时间
     */
	@JsonFormat(pattern="yyyy-MM-dd")
	private Date paytime;
	@JsonFormat(pattern="yyyy-MM-dd")
	private Date refundtime;
    /**
     * 是否删除
     */
	private Boolean isdeleted;
    /**
     * 创建时间
     */
	private Date createtime;
    /**
     * 创建者
     */
	private String creator;
    /**
     * 更新时间
     */
	private Date updatetime;
    /**
     * 修改者
     */
	private String mender;
	private Integer walletpaytype;
	private BigDecimal pointpay;
	private BigDecimal walletpay;
	private BigDecimal rate;


	public Integer getId() {
		return id;
	}

	public void setId(Integer id) {
		this.id = id;
	}

	public String getUuid() {
		return uuid;
	}

	public void setUuid(String uuid) {
		this.uuid = uuid;
	}

	public String getOrderid() {
		return orderid;
	}

	public void setOrderid(String orderid) {
		this.orderid = orderid;
	}

	public String getPayid() {
		return payid;
	}

	public void setPayid(String payid) {
		this.payid = payid;
	}

	public String getTradeNo() {
		return tradeNo;
	}

	public void setTradeNo(String tradeNo) {
		this.tradeNo = tradeNo;
	}

	public String getBatchNo() {
		return batchNo;
	}

	public void setBatchNo(String batchNo) {
		this.batchNo = batchNo;
	}

	public String getShopUuid() {
		return shopUuid;
	}

	public void setShopUuid(String shopUuid) {
		this.shopUuid = shopUuid;
	}

	public String getUserUuid() {
		return userUuid;
	}

	public void setUserUuid(String userUuid) {
		this.userUuid = userUuid;
	}

	public String getConsigneeUuid() {
		return consigneeUuid;
	}

	public void setConsigneeUuid(String consigneeUuid) {
		this.consigneeUuid = consigneeUuid;
	}

	public String getExpressUuid() {
		return expressUuid;
	}

	public void setExpressUuid(String expressUuid) {
		this.expressUuid = expressUuid;
	}

	public Double getExpressPrice() {
		return expressPrice;
	}

	public void setExpressPrice(Double expressPrice) {
		this.expressPrice = expressPrice;
	}

	public String getExpressNumber() {
		return expressNumber;
	}

	public void setExpressNumber(String expressNumber) {
		this.expressNumber = expressNumber;
	}

	public Double getAggregateAmount() {
		return aggregateAmount;
	}

	public void setAggregateAmount(Double aggregateAmount) {
		this.aggregateAmount = aggregateAmount;
	}

	public Double getActualPrice() {
		return actualPrice;
	}

	public void setActualPrice(Double actualPrice) {
		this.actualPrice = actualPrice;
	}

	public Integer getsQuantity() {
		return sQuantity;
	}

	public void setsQuantity(Integer sQuantity) {
		this.sQuantity = sQuantity;
	}

	public Integer getIntegral() {
		return integral;
	}

	public void setIntegral(Integer integral) {
		this.integral = integral;
	}

	public String getCardCouponsUuid() {
		return cardCouponsUuid;
	}

	public void setCardCouponsUuid(String cardCouponsUuid) {
		this.cardCouponsUuid = cardCouponsUuid;
	}

	public String getDeliveryUuid() {
		return deliveryUuid;
	}

	public void setDeliveryUuid(String deliveryUuid) {
		this.deliveryUuid = deliveryUuid;
	}

	public String getBarCodeUuid() {
		return barCodeUuid;
	}

	public void setBarCodeUuid(String barCodeUuid) {
		this.barCodeUuid = barCodeUuid;
	}

	public Integer getStatus() {
		return status;
	}

	public void setStatus(Integer status) {
		this.status = status;
	}

	public Integer getOldStatus() {
		return oldStatus;
	}

	public void setOldStatus(Integer oldStatus) {
		this.oldStatus = oldStatus;
	}

	public Boolean getPaySellerStatus() {
		return paySellerStatus;
	}

	public void setPaySellerStatus(Boolean paySellerStatus) {
		this.paySellerStatus = paySellerStatus;
	}

	public String getPaySellerNotifyId() {
		return paySellerNotifyId;
	}

	public void setPaySellerNotifyId(String paySellerNotifyId) {
		this.paySellerNotifyId = paySellerNotifyId;
	}

	public String getPaySellerBatchNo() {
		return paySellerBatchNo;
	}

	public void setPaySellerBatchNo(String paySellerBatchNo) {
		this.paySellerBatchNo = paySellerBatchNo;
	}

	public Integer getOrderType() {
		return orderType;
	}

	public void setOrderType(Integer orderType) {
		this.orderType = orderType;
	}

	public String getProvince() {
		return province;
	}

	public void setProvince(String province) {
		this.province = province;
	}

	public Integer getPaytype() {
		return paytype;
	}

	public void setPaytype(Integer paytype) {
		this.paytype = paytype;
	}

	public Date getConfirmtime() {
		return confirmtime;
	}

	public void setConfirmtime(Date confirmtime) {
		this.confirmtime = confirmtime;
	}

	public Date getPaytime() {
		return paytime;
	}

	public void setPaytime(Date paytime) {
		this.paytime = paytime;
	}

	public Date getRefundtime() {
		return refundtime;
	}

	public void setRefundtime(Date refundtime) {
		this.refundtime = refundtime;
	}

	public Boolean getIsdeleted() {
		return isdeleted;
	}

	public void setIsdeleted(Boolean isdeleted) {
		this.isdeleted = isdeleted;
	}

	public Date getCreatetime() {
		return createtime;
	}

	public void setCreatetime(Date createtime) {
		this.createtime = createtime;
	}

	public String getCreator() {
		return creator;
	}

	public void setCreator(String creator) {
		this.creator = creator;
	}

	public Date getUpdatetime() {
		return updatetime;
	}

	public void setUpdatetime(Date updatetime) {
		this.updatetime = updatetime;
	}

	public String getMender() {
		return mender;
	}

	public void setMender(String mender) {
		this.mender = mender;
	}

	public Integer getWalletpaytype() {
		return walletpaytype;
	}

	public void setWalletpaytype(Integer walletpaytype) {
		this.walletpaytype = walletpaytype;
	}

	public BigDecimal getPointpay() {
		return pointpay;
	}

	public void setPointpay(BigDecimal pointpay) {
		this.pointpay = pointpay;
	}

	public BigDecimal getWalletpay() {
		return walletpay;
	}

	public void setWalletpay(BigDecimal walletpay) {
		this.walletpay = walletpay;
	}

	public BigDecimal getRate() {
		return rate;
	}

	public void setRate(BigDecimal rate) {
		this.rate = rate;
	}

	@Override
	protected Serializable pkVal() {
		return this.id;
	}

	@Override
	public String toString() {
		return "Order{" +
			", id=" + id +
			", uuid=" + uuid +
			", orderid=" + orderid +
			", payid=" + payid +
			", tradeNo=" + tradeNo +
			", batchNo=" + batchNo +
			", shopUuid=" + shopUuid +
			", userUuid=" + userUuid +
			", consigneeUuid=" + consigneeUuid +
			", expressUuid=" + expressUuid +
			", expressPrice=" + expressPrice +
			", expressNumber=" + expressNumber +
			", aggregateAmount=" + aggregateAmount +
			", actualPrice=" + actualPrice +
			", sQuantity=" + sQuantity +
			", integral=" + integral +
			", cardCouponsUuid=" + cardCouponsUuid +
			", deliveryUuid=" + deliveryUuid +
			", barCodeUuid=" + barCodeUuid +
			", status=" + status +
			", oldStatus=" + oldStatus +
			", paySellerStatus=" + paySellerStatus +
			", paySellerNotifyId=" + paySellerNotifyId +
			", paySellerBatchNo=" + paySellerBatchNo +
			", orderType=" + orderType +
			", province=" + province +
			", paytype=" + paytype +
			", confirmtime=" + confirmtime +
			", paytime=" + paytime +
			", refundtime=" + refundtime +
			", isdeleted=" + isdeleted +
			", createtime=" + createtime +
			", creator=" + creator +
			", updatetime=" + updatetime +
			", mender=" + mender +
			", walletpaytype=" + walletpaytype +
			", pointpay=" + pointpay +
			", walletpay=" + walletpay +
			", rate=" + rate +
			"}";
	}
}
